1 BCO comparison of CASAL and Casal2 model configurations

This document compares the results of at least 2 CASAL model configurations (base and at least one sensitivity) and up to 6 Casal2 model configurations (3 BetaDiff and 3 ADOL-C).

The CASAL model sensitivity 1 has a smaller minimisation tolerance value than the CASAL base model (1e-7 vs. 2e-5).

The Casal2 ADOL-C and BetaDiff low tolerance models have a smaller tolerance value than the CASAL base model (1e-7 vs. 2e-5).

1.1 BCO model characteristics

The main characteristics of the Test Case BCO (ling) CASAL model are:

  • one stock, ages 3 - 20
  • one area
  • years 1900 - 2019, projection year 2020
  • one time step
  • two stock categories: male and female
  • natural mortality-at-age is 0.14 for males and 0.20 for females
  • sex-specific logistic maturity
  • sex-specific von Bertalanffy age-length relationship
  • one length-weight relationship (\(W = aL^b\))
  • Beverton-Holt stock-recruitment relationship, with steepness (h) 0.75 and \(\sigma_R\) 0.6
  • no ageing error
  • one survey with sex-specific age-based logistic selectivity
  • three fisheries, all with sex-specific length-based logistic selectivity and retained/discarded catches

Observation data include:

  • survey index
  • fishery CPUE index
  • fishery proportions-at-length

Parameters estimated include:

  • B0
  • male \(L_{\infty}\)
  • male age-length CV2
  • sex-specific survey logistic selectivity (a50 and ato95)
  • YCS (recruitment deviations)

1.2 BCO model MCMC specifications

The CASAL MCMC options include

  • start 0
  • keep 2500
  • length 4000000
  • stepsize 0.02
  • adaptive_stepsize True
  • adapt_at 10000 50000 150000 250000 450000 750000 1400000
  • df 2
  • burn_in 1000
  • proposal_t True

The Casal2 ADOL-C and BetaDiff MCMC options include

  • start 0
  • keep 2500
  • length 4000000
  • step_size 0.02
  • adapt_stepsize_at 10000 50000 150000 250000 450000 750000 1400000
  • proposal_distribution t
  • adapt_stepsize_method double_half

1.3 R environment

## [1] "Tue Dec  7 15:29:30 2021"
## R version 4.1.2 (2021-11-01)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Debian GNU/Linux bookworm/sid
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.18.so
## 
## locale:
##  [1] LC_CTYPE=en_NZ.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_NZ.UTF-8        LC_COLLATE=en_NZ.UTF-8    
##  [5] LC_MONETARY=en_NZ.UTF-8    LC_MESSAGES=en_NZ.UTF-8   
##  [7] LC_PAPER=en_NZ.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_NZ.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] Casal2_21.11   casal_2.30     devtools_2.4.3 usethis_2.1.3  rlist_0.4.6.2 
##  [6] ggthemes_4.2.4 gridExtra_2.3  coda_0.19-4    ggmcmc_1.5.1.1 ggplot2_3.3.5 
## [11] tidyr_1.1.4    huxtable_5.4.0 dplyr_1.0.7    plyr_1.8.6    
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_1.0.7         lattice_0.20-45    prettyunits_1.1.1  ps_1.6.0          
##  [5] assertthat_0.2.1   rprojroot_2.0.2    digest_0.6.29      utf8_1.2.2        
##  [9] R6_2.5.1           evaluate_0.14      pillar_1.6.4       rlang_0.4.12      
## [13] data.table_1.14.2  callr_3.7.0        jquerylib_0.1.4    rmarkdown_2.11    
## [17] desc_1.4.0         stringr_1.4.0      munsell_0.5.0      compiler_4.1.2    
## [21] xfun_0.28          pkgconfig_2.0.3    pkgbuild_1.2.1     htmltools_0.5.2   
## [25] tidyselect_1.1.1   tibble_3.1.6       reshape_0.8.8      fansi_0.5.0       
## [29] crayon_1.4.2       withr_2.4.3        grid_4.1.2         jsonlite_1.7.2    
## [33] GGally_2.1.2       gtable_0.3.0       lifecycle_1.0.1    DBI_1.1.1         
## [37] magrittr_2.0.1     scales_1.1.1       cli_3.1.0          stringi_1.7.6     
## [41] cachem_1.0.6       fs_1.5.1           remotes_2.4.2      testthat_3.1.1    
## [45] bslib_0.3.1        ellipsis_0.3.2     generics_0.1.1     vctrs_0.3.8       
## [49] RColorBrewer_1.1-2 tools_4.1.2        glue_1.5.1         purrr_0.3.4       
## [53] processx_3.5.2     pkgload_1.2.4      fastmap_1.1.0      yaml_2.2.1        
## [57] colorspace_2.0-2   sessioninfo_1.2.2  memoise_2.0.1      knitr_1.36        
## [61] sass_0.4.0

1.4 CASAL and Casal2 model output

# source('../../R-functions/report_read_in_CASAL_MPD_files.R')
source('../../R-functions/report_read_in_CASAL_MCMC_files.R')
source('../../R-functions/report_read_in_Casal2_MPD_files.R')
source('../../R-functions/report_read_in_Casal2_MCMC_files.R')

1.5 MCMC diagnostics

1.5.1 Diagnostics for the CASAL and Casal2 model MCMC results

For the diagnostics below, the last 1000 samples for each chain are input into the diagnostic functions.